# 使用稳定的 Python 基础镜像
FROM python:3.13.3

# 设置工作目录
WORKDIR /app

# 安装系统依赖并清理缓存
RUN apt-get update && apt-get install -y --no-install-recommends \ 
    gcc \ 
    python3-dev \ 
    libpq-dev \ 
    locales \ 
    && apt-get clean \ 
    && rm -rf /var/lib/apt/lists/* \ 
    && locale-gen zh_CN.UTF-8  # 生成中文语言环境

# 升级 pip 并安装依赖
COPY requirements.txt .
RUN pip install --upgrade pip && pip install --no-cache-dir -r requirements.txt

# 复制项目文件
COPY . .

# 设置 media 文件夹权限（但要先创建）
RUN mkdir -p ../media
RUN chgrp -R www-data ../media
RUN chmod -R g+w ../media

# 加载环境变量
RUN pip install python-dotenv
RUN python -c 'from dotenv import load_dotenv; load_dotenv()'

# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

# 生产环境设置中文和无缓冲模式（输出会立即发送到容器日志）
ENV LANG=C.UTF-8 \ 
    LANGUAGE=zh_CN:zh \ 
    LC_ALL=C.UTF-8 \ 
    PYTHONDONTWRITEBYTECODE=1

# 暴露端口
EXPOSE 8001

# 使用uWSGI替代runserver    
RUN pip install uwsgi
# 启动服务 uWSGI    
CMD []